import type { IconProps } from "@tabler/icons-react"
import { memo } from "react"

const IconMagicLogo = memo(({ size = 24, className, style }: IconProps) => {
	const iconSize = typeof size === "string" ? parseInt(size, 10) : size

	return (
		<svg
			width={iconSize}
			height={iconSize}
			viewBox="0 0 24 24"
			fill="none"
			style={style}
			className={className}
		>
			<g>
				<path
					fillRule="evenodd"
					clipRule="evenodd"
					d="M6.7499 7.8999C7.21934 7.8999 7.5999 8.28046 7.5999 8.7499C7.5999 10.36 7.87605 12.1286 9.71708 13.3398C11.3241 14.397 13.3629 14.2856 14.7212 13.716C15.1541 13.5345 15.6522 13.7383 15.8338 14.1712C16.0153 14.6041 15.8115 15.1022 15.3786 15.2838C13.6369 16.0142 10.9757 16.2028 8.78273 14.76C6.20946 13.0671 5.8999 10.5398 5.8999 8.7499C5.8999 8.28046 6.28046 7.8999 6.7499 7.8999Z"
					fill="url(#paint0_linear_10070_140882)"
				/>
				<path
					fillRule="evenodd"
					clipRule="evenodd"
					d="M13.5466 4.53262C12.5779 4.36815 11.7124 4.4761 11.2621 4.62199C10.8155 4.76666 10.3362 4.5219 10.1915 4.07531C10.0468 3.62872 10.2916 3.1494 10.7382 3.00473C11.4712 2.76729 12.6157 2.65024 13.8312 2.8566C15.0606 3.06533 16.4243 3.61615 17.5195 4.78119C18.9159 6.26672 19.328 8.55013 18.9829 10.2397C18.8103 11.0848 18.4156 11.9389 17.6845 12.4315C16.8862 12.9694 15.9113 12.9333 14.9457 12.411L14.8532 12.361L14.7758 12.2899C14.2973 11.8513 14.0563 11.2526 13.9307 10.7014C13.803 10.1408 13.7744 9.54036 13.7879 8.9985C13.8148 7.91399 14.0149 6.92867 14.0704 6.67897C14.1722 6.22071 14.6263 5.93177 15.0845 6.0336C15.5428 6.13544 15.8317 6.58949 15.7299 7.04775C15.6854 7.24805 15.5104 8.11273 15.4874 9.04072C15.4758 9.50511 15.5035 9.95154 15.5883 10.3238C15.6606 10.6412 15.7612 10.8468 15.8629 10.9711C16.3501 11.2052 16.5987 11.1132 16.7345 11.0217C16.9471 10.8785 17.1899 10.5232 17.3173 9.89951C17.5722 8.65159 17.2344 6.96001 16.2808 5.94553C15.4959 5.11057 14.5014 4.69472 13.5466 4.53262Z"
					fill="url(#paint1_linear_10070_140882)"
				/>
				<path
					fillRule="evenodd"
					clipRule="evenodd"
					d="M15.2816 9.63209C15.2764 9.65524 15.2709 9.67846 15.2652 9.70175C15.2603 9.72163 15.2548 9.74117 15.2487 9.76036C14.9349 10.9456 14.4548 11.7649 13.817 12.2634C12.6712 13.1588 11.3782 12.7825 10.587 12.3429C9.33858 11.6494 8.94033 10.2266 9.05694 9.03204C9.17377 7.8352 9.83608 6.52065 11.139 6.00877C12.0992 5.63155 13.2637 5.77857 14.1282 6.37875C14.2935 6.16615 14.5569 6.03539 14.8461 6.05117C15.3149 6.07674 15.6741 6.47746 15.6486 6.94621C15.5916 7.98973 15.4686 8.88146 15.2816 9.63209ZM13.6268 9.2422C13.7956 8.47948 13.5238 8.03827 13.1786 7.78928C12.7651 7.49097 12.1837 7.42485 11.7606 7.59105C11.2385 7.79617 10.8258 8.40939 10.7489 9.1972C10.6718 9.98725 10.9611 10.606 11.4126 10.8569C11.9714 11.1673 12.4284 11.191 12.7702 10.9239C13.0402 10.7129 13.3766 10.2346 13.6268 9.2422Z"
					fill="url(#paint2_linear_10070_140882)"
				/>
				<path
					d="M5.06948 3.80101L7.61868 7.49729C7.80111 7.76181 8.21461 7.71785 8.35834 7.43046C8.55558 7.0361 8.83005 6.56136 9.13151 6.25934C9.34409 6.04636 9.64698 5.84224 9.93733 5.67249C10.2473 5.49128 10.2301 5.00144 9.89499 4.87269L5.5422 3.20051C5.17512 3.0595 4.84622 3.47729 5.06948 3.80101Z"
					fill="url(#paint3_linear_10070_140882)"
				/>
				<path
					d="M2.35408 3.98398C2.45073 3.72279 2.82015 3.72279 2.9168 3.98398L3.20878 4.77304C3.23916 4.85516 3.30391 4.9199 3.38602 4.95029L4.17509 5.24227C4.43627 5.33892 4.43627 5.70833 4.17509 5.80498L3.38602 6.09696C3.30391 6.12735 3.23916 6.19209 3.20878 6.2742L2.9168 7.06327C2.82015 7.32446 2.45073 7.32446 2.35408 7.06327L2.0621 6.2742C2.03172 6.19209 1.96697 6.12735 1.88486 6.09696L1.09579 5.80498C0.834606 5.70833 0.834606 5.33892 1.09579 5.24227L1.88486 4.95029C1.96697 4.9199 2.03172 4.85516 2.0621 4.77304L2.35408 3.98398Z"
					fill="url(#paint4_linear_10070_140882)"
				/>
				<path
					d="M6.54804 0.330544C6.61247 0.15642 6.85874 0.15642 6.92318 0.330544L7.08182 0.759268C7.10208 0.814011 7.14524 0.857174 7.19998 0.877431L7.62871 1.03607C7.80283 1.1005 7.80283 1.34678 7.6287 1.41121L7.19998 1.56986C7.14524 1.59011 7.10208 1.63327 7.08182 1.68802L6.92318 2.11674C6.85874 2.29087 6.61247 2.29087 6.54804 2.11674L6.38939 1.68802C6.36914 1.63327 6.32597 1.59011 6.27123 1.56986L5.84251 1.41121C5.66838 1.34678 5.66838 1.1005 5.84251 1.03607L6.27123 0.877431C6.32597 0.857174 6.36914 0.814011 6.38939 0.759268L6.54804 0.330544Z"
					fill="url(#paint5_linear_10070_140882)"
				/>
			</g>
			<defs>
				<linearGradient
					id="paint0_linear_10070_140882"
					x1="12.9865"
					y1="13.5888"
					x2="10.3751"
					y2="7.35545"
					gradientUnits="userSpaceOnUse"
				>
					<stop stopColor="#00D8FF" />
					<stop offset="1" stopColor="#0046FF" />
				</linearGradient>
				<linearGradient
					id="paint1_linear_10070_140882"
					x1="16.4912"
					y1="9.96268"
					x2="12.4134"
					y2="3.09318"
					gradientUnits="userSpaceOnUse"
				>
					<stop stopColor="#00D8FF" />
					<stop offset="1" stopColor="#0046FF" />
				</linearGradient>
				<linearGradient
					id="paint2_linear_10070_140882"
					x1="13.7233"
					y1="10.8217"
					x2="10.9692"
					y2="5.89578"
					gradientUnits="userSpaceOnUse"
				>
					<stop stopColor="#00D8FF" />
					<stop offset="1" stopColor="#0046FF" />
				</linearGradient>
				<linearGradient
					id="paint3_linear_10070_140882"
					x1="8.1313"
					y1="8.10899"
					x2="7.35244"
					y2="2.3304"
					gradientUnits="userSpaceOnUse"
				>
					<stop stopColor="#FFF73F" />
					<stop offset="1" stopColor="#FF5F5F" />
				</linearGradient>
				<linearGradient
					id="paint4_linear_10070_140882"
					x1="3.59521"
					y1="6.51868"
					x2="1.84372"
					y2="3.19855"
					gradientUnits="userSpaceOnUse"
				>
					<stop stopColor="#00D8FF" />
					<stop offset="1" stopColor="#0046FF" />
				</linearGradient>
				<linearGradient
					id="paint5_linear_10070_140882"
					x1="8.13561"
					y1="1.22364"
					x2="5.33561"
					y2="1.22364"
					gradientUnits="userSpaceOnUse"
				>
					<stop stopColor="#FFF73F" />
					<stop offset="1" stopColor="#FF5F5F" />
				</linearGradient>
			</defs>
		</svg>
	)
})

export default IconMagicLogo
